﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace Consultorio_Medico
{
    public partial class AltaUsuario : Form
    {
        public AltaUsuario()
        {
            InitializeComponent();
        }

        private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
        {
            this.txtFecha.Text = monthCalendar1.SelectionStart.ToShortDateString();
            
        }

        private void btnAlta_Click(object sender, EventArgs e)
        {
            if (verificar())
            {

            if (insertar())
            {
                MessageBox.Show("Usuario dado de Alta!!","Exito",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                this.Close();
                this.Dispose();
            }
            else
            {
                MessageBox.Show("Usuario no ingresado!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            }
        }

        private Boolean insertar()
        {
            Boolean correcto = false;
            MySqlConnection conexion = null;
                try
                {
                    String[] fecha = txtFecha.Text.Split('/');
                    String fechaActual = fecha[2] + "/" + fecha[1] + "/" + fecha[0];
                    String cadenaConexion = "Server=Localhost;Database=consultorio;Uid=root;Pwd=123;";
                    conexion = new MySqlConnection(cadenaConexion);
                    MySqlCommand insertar = conexion.CreateCommand();
                    insertar.CommandText = "INSERT INTO usuarios(usuario, password, nom_usu, fecha_actual, activo) VALUES(@usuario, @password, @nom_usu, @fecha_actual, @activo)";
                    conexion.Open();
                    insertar.Parameters.AddWithValue("@usuario", txtUsuario.Text);
                    insertar.Parameters.AddWithValue("@password", txtPass.Text);
                    insertar.Parameters.AddWithValue("@nom_usu", txtNombre.Text + " " + txtApellido.Text);
                    insertar.Parameters.AddWithValue("@fecha_actual", fechaActual);
                    insertar.Parameters.AddWithValue("@activo", 1);
                    insertar.ExecuteNonQuery();
                    conexion.Close();
                    conexion.Dispose();
                    correcto = true;
                }
                catch (Exception)
                {
                    correcto = false;
                    conexion.Close();
                    conexion.Dispose();
                }
            return correcto;
        }

        private Boolean verificar()
        {
            Boolean verificado = true;
            if (txtApellido.Text.Trim().Equals("") || txtNombre.Text.Trim().Equals("") || txtFecha.Text.Trim().Equals("") || txtPass.Text.Trim().Equals("") || txtRePass.Text.Trim().Equals(""))
            {
                MessageBox.Show("Campos vacios!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                verificado = false;
            }else if (!txtPass.Text.Trim().Equals(txtRePass.Text.Trim()))
            {
                MessageBox.Show("Las dos veces debe ser la misma contraseña!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                verificado = false;
            }

            return verificado;
        
        }

    }
}
